import Adafruit_DHT as dht
import requests
import json

##################################################################
# 检测环境温湿度、查询当前城市的天气预报
##################################################################

DHT22_SENSOR = dht.DHT22
PIN = 4


##################################################################
# dht22检测温度
##################################################################

def get_temp_hum():
    humidity, temperature = dht.read_retry(DHT22_SENSOR, PIN)
    if humidity is not None and temperature is not None:
        return round(temperature, 4), round(humidity, 4)  # 返回结果,精确2位
    else:
        return 0, 0


##################################################################
# 高德API 查询天气
# 默认查询 广州市-天河区
##################################################################
def get_weather_by_GaoDe(city_id=440106):
    api = "d853cd7904e29ad5f163c3bd76583d8c"
    url = "https://restapi.amap.com/v3/weather/weatherInfo?key=%s&city=%s" % (api, city_id)
    r = requests.get(url)
    json_res = r.content.decode('utf-8')
    # json转字典
    dict_res = json.loads(json_res)
    # dict_res['lives']是一个长度为1的list，dict_res['lives'][0]是一个dict
    dict_res = dict_res['lives'][0]

    city = dict_res['city']  # 城市
    weather = dict_res['weather']  # 天气：多云/晴天
    temperature = dict_res['temperature']  # 温度
    wind_direction = dict_res['winddirection']  # 风向
    return city, weather, temperature, wind_direction


##################################################################
# 查询城市的天气
##################################################################
def query_city_weather(city='Guangzhou'):
    pass


if __name__ == '__main__':
    print(get_weather_by_GaoDe())
